#pragma once

#ifndef _PACKET_H_
#define _PACKET_H_
#include <memory>
#include "base_type.h"

class ByteBuffer;
typedef std::shared_ptr<ByteBuffer> ByteBufferPtr;
namespace as
{
namespace md
{

	
class Packet
{
public:
	typedef std::shared_ptr<Packet> PacketPtr;
	Packet();
	virtual ~Packet();

	static PacketPtr PacketData(ByteBufferPtr buf);
	ByteBufferPtr GetBody() { return body_; }

	ByteBufferPtr body_ = nullptr;
	uint32 sysId_ = 0;
	uint32 subId_ = 0;
};















}
}

#endif